<?php
    class Extranjera extends DBManager
    {
	var  $con;

	//funcion para comprobar conexion

        function open_con()
	{
            $this->con=parent::conectar();
            return $this->con;
	}

	//funcion para cerra conexion
	function close_con()
	{
            parent::desconectar();
	}
        
        
        function new_autorizado_extranjera_temp($datos_ex,$datos_es)
        {
            parent::conectar();
            
           
            //datos para la tabla de estados autorizados
            $record_es["idautorizado_extranjera"]      =   $datos_es[0];
            $record_es["idempleado"]                   =   $datos_es[1];
            $record_es["idestado"]                     =   $datos_es[2];
            $record_es["nacta_estsexta"]               =   trim(addslashes($datos_es[3]));
            $record_es["observacion_estsexta"]         =   trim(addslashes($datos_es[4]));
            $record_es["fechacta_estsexta"]            =   $datos_es[5];
            
            $record_ex["idautorizado_extranjera"]  =   $datos_ex[0];
            $record_ex["idsolicitud_extranjera"]   =   $datos_ex[1];
            $record_ex["idempleado"]               =   $datos_ex[2];
            $record_ex["idestado"]                 =   $datos_ex[3];
            $record_ex["nombrefirma_aext"]         =   $datos_ex[4];
            $record_ex["fechainicio_aext"]         =   $datos_ex[5];
            $record_ex["fechafinal_aext"]          =   $datos_ex[6];
            
            
            
            $this->obj_con->StartTrans();
                $new_autorizado_extranjero  =   $this->obj_con->AutoExecute("tp_autorizado_extranjera", $record_ex, 'INSERT');
                $new_estado_autorizado      =   $this->obj_con->AutoExecute("tp_estadoautorizadoext", $record_es, 'INSERT');
                $create_folder              =   @mkdir(PATH_INSCRITOS_FIRMA.$datos_ex[0], 0644);
            $this->obj_con->CompleteTrans();  
            
            if($new_autorizado_extranjero && $new_estado_autorizado)
            {
		return true;
            }
            else
            {
		return false;
            }
            parent::desconectar();
            
        }
        
        function update_autorizado_extranjera_temp($idautorizado,$datos_ex,$datos_es)
        {
            parent::conectar();
            
           
            //datos para la tabla de estados autorizados
            $record_es["idautorizado_extranjera"]  =   $datos_es[0];
            $record_es["idempleado"]               =   $datos_es[1];
            $record_es["idestado"]                 =   $datos_es[2];
            $record_es["nacta_estsexta"]               =   trim(addslashes($datos_es[3]));
            $record_es["observacion_estsexta"]         =   trim(addslashes($datos_es[4]));
            $record_es["fechacta_estsexta"]            =   $datos_es[5];
            
            $record_ex["idautorizado_extranjera"]  =   $datos_ex[0];
            $record_ex["idsolicitud_extranjera"]   =   $datos_ex[1];
            $record_ex["idempleado"]               =   $datos_ex[2];
            $record_ex["idestado"]                 =   $datos_ex[3];
            $record_ex["nombrefirma_aext"]         =   $datos_ex[4];
            $record_ex["fechainicio_aext"]         =   $datos_ex[5];
            $record_ex["fechafinal_aext"]          =   $datos_ex[6];
            
            
            
            $this->obj_con->StartTrans();
                $update_autorizado_extranjero  =   $this->obj_con->AutoExecute("tp_autorizado_extranjera", $record_ex, 'UPDATE',"idautorizado_extranjera = '".$idautorizado."'");
                $update_estado_autorizado      =   $this->obj_con->AutoExecute("tp_estadoautorizadoext", $record_es, 'UPDATE',"idautorizado_extranjera = '".$idautorizado."' and idestado = '5'");
                $update_folder                 =   @rename(PATH_INSCRITOS_FIRMA.$idautorizado,PATH_INSCRITOS_FIRMA.$datos_ex[0]);
            $this->obj_con->CompleteTrans();  
            
            if($update_autorizado_extranjero && $update_estado_autorizado)
            {
		return true;
            }
            else
            {
		return false;
            }
            parent::desconectar();
            
        }       
        

        
        //cargar el grid con todos las firmas extranjeras
        function load_firma_extranjera()
        {
            parent::conectar();
            $start           =   isset($_POST['start'])?$_POST['start']:0; 
       	    $limit           =   isset($_POST['limit'])?$_POST['limit']:1000;
 	    $data_all        =   array();
            $opcion_busqueda =   $_POST['tipo_busq'];
            
            if($opcion_busqueda == "" && $_POST['valor'] <> "")
            {
                $consulta_firmas = "select * from vw_firma_extranjera where nombrefirma_aext like '%".$_POST['valor']."%'";
            }
            elseif($opcion_busqueda == "")
            {
                $consulta_firmas = "select * from vw_firma_extranjera";
            }            
            elseif($opcion_busqueda == "idauto_ext")
            {
                $consulta_firmas = "select * from vw_firma_extranjera where idautorizado_extranjera = ".$_POST['valor'];
            }
            elseif($opcion_busqueda == "nombre_full")
            {
                $consulta_firmas = "select * from vw_firma_extranjera where nombrefirma_aext like '%".$_POST['valor']."%'";
            }
            

            $recordset_all   =   $this->obj_con-> Execute($consulta_firmas);
            //echo $consulta_firmas;
            if (!$recordset_all)
            {
                echo ($this->obj_con->ErrorMsg());
            }
            else
            {
                while (!$recordset_all->EOF)
     	        {
                    $idfirma                =   $recordset_all->fields['idautorizado_extranjera'];
                    $lbl_estado             =   $recordset_all->fields['nombre_esta'];
                    $nombre_firma           =   $recordset_all->fields['nombrefirma_aext'];
                    $fecha_inicio           =   $recordset_all->fields['fecha_inicio'];
                    $fecha_final            =   $recordset_all->fields['fecha_final'];
                
                    $responce_all=array('idautorizado'=>$idfirma,'lbl_estado'=>$lbl_estado,'nombre_firma'=>$nombre_firma,'date_inicio'=>$fecha_inicio,'date_fin'=>$fecha_final);
                    array_push($data_all,$responce_all);
                    $recordset_all->MoveNext();
                 }

                 $paging_all = array(
                        	 'success'=>true,
                                 'total'=>count($data_all), //<--- total de registros a paginar
				 'data'=> array_splice($data_all,$start,$limit)
                                );

		echo json_encode($paging_all);
             }
        }        
        
        
        
        //obtener un valor de la firma extranjera
        function get_campo_extranjera($condicion,$get_campo)
	{
            parent::conectar();

            $consulta  =   "select ".$get_campo." from tp_autorizado_extranjera where ".$condicion;
            $record_consulta = $this->obj_con->GetRow($consulta);
            
            parent::desconectar();
            return  $record_consulta[$get_campo];
        }
        
        function update_autorizado($tabla,$campo_condicion,$datos)
        {
            parent::conectar();

            $record["idautorizado_extranjera"] =   $datos[1];

            $this->obj_con->StartTrans(); 
                $update_firma       =   $this->obj_con->AutoExecute($tabla, $record, "UPDATE", $campo_condicion."=".$datos[0]);
            $this->obj_con->CompleteTrans();

            if($update_firma)
            {
                return true;
            }
            else
            {
                return false;
            }
            
            parent::desconectar();
        }
        
        function fill_form_extranjera($obj_estadoextranjera)
        {
            parent::conectar();    
            
            $idautorizado   =   $_GET['idautorizado'];
            $nacta          =   $obj_estadoextranjera->get_campo_estado_extranjera("idautorizado_extranjera ='".$idautorizado."' and idestado = 5 order by idautorizado_extranjera desc","nacta_estsexta");
            $facta          =   $this->formato_fecha($obj_estadoextranjera->get_campo_estado_extranjera("idautorizado_extranjera ='".$idautorizado."' and idestado = 5 order by idautorizado_extranjera desc","fechacta_estsexta"));
            
            $res = array('success'          => true,
                        'nacta'      => $nacta, 
                        'facta'               => $facta 
                         );
            echo json_encode($res);
            parent::desconectar();
        }
        function formato_fecha($fecha)
        {
            list($fecha,$hora)      = explode(" ",$fecha);
            list($year,$mes,$dia)   = explode("-",$fecha); 
            return $dia."/".$mes."/".$year;
        } 
        
        function check_autorizado_extranjera($idautorizado)
        {
            parent::conectar();
            $consulta       =   "select * from tp_autorizado_extranjera where idautorizado_extranjera = '$idautorizado'";
            @$record         =   $this->obj_con->Execute($consulta);
            @$verificar      =   $record->RecordCount();
            if($verificar>0)
            {
                return 1;
            }
            else
            {
		return 0;
            }
            parent::desconectar();
        }        
        
        
    }
?>
